{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Decison Trees"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "First we'll load some fake data on past hires I made up. Note how we use pandas to convert a csv file into a DataFrame:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn import tree\n",
    "\n",
    "input_file = \"e:/sundog-consult/udemy/datascience/PastHires.csv\"\n",
    "df = pd.read_csv(input_file, header = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Years Experience</th>\n",
       "      <th>Employed?</th>\n",
       "      <th>Previous employers</th>\n",
       "      <th>Level of Education</th>\n",
       "      <th>Top-tier school</th>\n",
       "      <th>Interned</th>\n",
       "      <th>Hired</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10</td>\n",
       "      <td>Y</td>\n",
       "      <td>4</td>\n",
       "      <td>BS</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>0</td>\n",
       "      <td>BS</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>7</td>\n",
       "      <td>N</td>\n",
       "      <td>6</td>\n",
       "      <td>BS</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2</td>\n",
       "      <td>Y</td>\n",
       "      <td>1</td>\n",
       "      <td>MS</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20</td>\n",
       "      <td>N</td>\n",
       "      <td>2</td>\n",
       "      <td>PhD</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Years Experience Employed?  Previous employers Level of Education  \\\n",
       "0                10         Y                   4                 BS   \n",
       "1                 0         N                   0                 BS   \n",
       "2                 7         N                   6                 BS   \n",
       "3                 2         Y                   1                 MS   \n",
       "4                20         N                   2                PhD   \n",
       "\n",
       "  Top-tier school Interned Hired  \n",
       "0               N        N     Y  \n",
       "1               Y        Y     Y  \n",
       "2               N        N     N  \n",
       "3               Y        N     Y  \n",
       "4               Y        N     N  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "scikit-learn needs everything to be numerical for decision trees to work. So, we'll map Y,N to 1,0 and levels of education to some scale of 0-2. In the real world, you'd need to think about how to deal with unexpected or missing data! By using map(), we know we'll get NaN for unexpected values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Years Experience</th>\n",
       "      <th>Employed?</th>\n",
       "      <th>Previous employers</th>\n",
       "      <th>Level of Education</th>\n",
       "      <th>Top-tier school</th>\n",
       "      <th>Interned</th>\n",
       "      <th>Hired</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Years Experience  Employed?  Previous employers  Level of Education  \\\n",
       "0                10          1                   4                   0   \n",
       "1                 0          0                   0                   0   \n",
       "2                 7          0                   6                   0   \n",
       "3                 2          1                   1                   1   \n",
       "4                20          0                   2                   2   \n",
       "\n",
       "   Top-tier school  Interned  Hired  \n",
       "0                0         0      1  \n",
       "1                1         1      1  \n",
       "2                0         0      0  \n",
       "3                1         0      1  \n",
       "4                1         0      0  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d = {'Y': 1, 'N': 0}\n",
    "df['Hired'] = df['Hired'].map(d)\n",
    "df['Employed?'] = df['Employed?'].map(d)\n",
    "df['Top-tier school'] = df['Top-tier school'].map(d)\n",
    "df['Interned'] = df['Interned'].map(d)\n",
    "d = {'BS': 0, 'MS': 1, 'PhD': 2}\n",
    "df['Level of Education'] = df['Level of Education'].map(d)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Next we need to separate the features from the target column that we're trying to bulid a decision tree for."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Years Experience',\n",
       " 'Employed?',\n",
       " 'Previous employers',\n",
       " 'Level of Education',\n",
       " 'Top-tier school',\n",
       " 'Interned']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features = list(df.columns[:6])\n",
    "features"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Now actually construct the decision tree:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "y = df[\"Hired\"]\n",
    "X = df[features]\n",
    "clf = tree.DecisionTreeClassifier()\n",
    "clf = clf.fit(X,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "... and display it. Note you need to have pydotplus installed for this to work. (!pip install pydotplus)\n",
    "\n",
    "To read this decision tree, each condition branches left for \"true\" and right for \"false\". When you end up at a value, the value array represents how many samples exist in each target value. So value = [0. 5.] mean there are 0 \"no hires\" and 5 \"hires\" by the tim we get to that point. value = [3. 0.] means 3 no-hires and 0 hires."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image  \n",
    "from sklearn.externals.six import StringIO  \n",
    "import pydotplus\n",
    "\n",
    "dot_data = StringIO()  \n",
    "tree.export_graphviz(clf, out_file=dot_data,  \n",
    "                         feature_names=features)  \n",
    "graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  \n",
    "Image(graph.create_png())  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Ensemble learning: using a random forest"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "We'll use a random forest of 10 decision trees to predict employment of specific candidate profiles:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1]\n",
      "[0]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "\n",
    "clf = RandomForestClassifier(n_estimators=10)\n",
    "clf = clf.fit(X, y)\n",
    "\n",
    "#Predict employment of an employed 10-year veteran\n",
    "print (clf.predict([[10, 1, 4, 0, 0, 0]]))\n",
    "#...and an unemployed 10-year veteran\n",
    "print (clf.predict([[10, 0, 4, 0, 0, 0]]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Activity"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Modify the test data to create an alternate universe where everyone I hire everyone I normally wouldn't have, and vice versa. Compare the resulting decision tree to the one from the original data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
